_UART_Write_Line:
;ADC.c,20 :: 		void UART_Write_Line(char *uart_text) {
; uart_text start address is: 0 (R0)
PUSH	(R14)
; uart_text end address is: 0 (R0)
; uart_text start address is: 0 (R0)
;ADC.c,21 :: 		UART_Write_Text(uart_text);
; uart_text end address is: 0 (R0)
BL	_UART_Write_Text+0
;ADC.c,22 :: 		UART_Write(13);
MOVS	R0, #13
BL	_UART_Write+0
;ADC.c,23 :: 		UART_Write(10);
MOVS	R0, #10
BL	_UART_Write+0
;ADC.c,24 :: 		}
L_end_UART_Write_Line:
POP	(R15)
; end of _UART_Write_Line
_main:
;ADC.c,26 :: 		void main() {
;ADC.c,28 :: 		ADC_Set_Input_Channel(_ADC_CHANNEL_0);    // Choose ADC channel
MOVS	R0, #1
BL	_ADC_Set_Input_Channel+0
;ADC.c,29 :: 		ADC1_Init();                              // Init ADC module
BL	_ADC1_Init+0
;ADC.c,30 :: 		Delay_ms(100);                            // Wait for ADC module to stabilize
LDR	R7, [PC, #799999]
NOP
L_main0:
SUBS	R7, R7, #1
BNE	L_main0
B	#4
	#799999
NOP
;ADC.c,32 :: 		UART2_Init(115200);                       // Initialize UART module at 56000 bps
MOVW	R0, #49664
MOVT	R0, #1
BL	_UART2_Init+0
;ADC.c,33 :: 		Delay_ms(100);                            // Wait for UART module to stabilize
LDR	R7, [PC, #799999]
NOP
L_main2:
SUBS	R7, R7, #1
BNE	L_main2
B	#4
	#799999
NOP
;ADC.c,36 :: 		while (1) {
L_main4:
;ADC.c,37 :: 		adc_value = ADC1_Get_Sample(0);                // Get ADC value from corresponding channel
MOVS	R0, #0
BL	_ADC1_Get_Sample+0
MOVW	R1, #lo_addr(_adc_value+0)
MOVT	R1, #hi_addr(_adc_value+0)
STRH	R0, [R1, #0]
;ADC.c,38 :: 		analog_value = (adc_value * 3.30) / 4095.0;    // Calulate applied analog voltage
BL	__UnsignedIntegralToFloat+0
MOVW	R2, #13107
MOVT	R2, #16467
BL	__Mul_FP+0
MOVW	R2, #61440
MOVT	R2, #17791
BL	__Div_FP+0
MOVW	R1, #lo_addr(_analog_value+0)
MOVT	R1, #hi_addr(_analog_value+0)
STR	R0, [R1, #0]
;ADC.c,39 :: 		FloatToStr(analog_value, analog_value_string); // Convert analog value to string
MOV	R0, R0
MOVW	R1, #lo_addr(_analog_value_string+0)
MOVT	R1, #hi_addr(_analog_value_string+0)
BL	_FloatToStr+0
;ADC.c,40 :: 		Ltrim(analog_value_string);                    // Clear leading spaces of the string
MOVW	R0, #lo_addr(_analog_value_string+0)
MOVT	R0, #hi_addr(_analog_value_string+0)
BL	_Ltrim+0
;ADC.c,41 :: 		UART_Write_Line(analog_value_string);
MOVW	R0, #lo_addr(_analog_value_string+0)
MOVT	R0, #hi_addr(_analog_value_string+0)
BL	_UART_Write_Line+0
;ADC.c,42 :: 		Delay_ms(50);
LDR	R7, [PC, #399999]
NOP
L_main6:
SUBS	R7, R7, #1
BNE	L_main6
B	#4
	#399999
NOP
;ADC.c,43 :: 		}
IT	AL
BLAL	L_main4
;ADC.c,44 :: 		}
L_end_main:
L__main_end_loop:
B	L__main_end_loop
; end of _main
